<!---- Creator: Eoly -->
<!---- On 2017/1/10 -->
<!---- Call http://palerock.cn -->

<!--
    获取用户已发团信息API：
    method:GET
    url:'http://palerock.cn/user/group/find-init-groups'

    请求头:
    Authorization:'Bearer '+token 密文记录

    params:
    {                           // 发送params参数（不附加参数即为查找所有）
        groupStatus             // 团状态码（可选，没有这个参数则获取所有状态下的团）
                                       -1:审核中
                                       0:拼团中
                                       1:拼团成功
                                       2:拼团失败
        line:                   // 获取的团信息的起始位置
        next:                   // 获取的团信息的个数
                                   注：
                                      1、起始位置从0开始，按照时间由近及远排序
                                      2、如果只使用其中一个参数，无论是line还是next，都是获得团的个数，并且从位置0开始
    }
    返回：
    {
        dataList:       // 返回的团数据列表
            {
                groupAliveHours:            // 团存活周期（小时）
                groupGoodType:              // 团类型id
                groupId:                    // 团id
                groupImgs:                  // 团封面图片（字符串）
                                               需要转化为数组后使用
                groupInitiatorId:           // 团发起者id
                groupNowNumber:             // 当前参团人数
                groupPostage:               // 团商品邮费
                groupPrice:                 // 团商品单价
                groupPriceOriginal:         // 团商品原价
                groupSynopsis:              // 团简介
                groupTargetNumber:          // 团目标人数
                groupTitle:                 // 团标题
                groupInitTime:              // 发团时间（时间戳）
                groupStatus:                // 团状态
            }
            ...

        error:      // '0'则为操作成功

        mes:        // 操作后返回的信息
    }
-->

<!--
    获取指定状态用户已发团总数API：
    method:GET
    url:'http://palerock.cn/user/group/find-init-groups-count'

    请求头:
    Authorization:'Bearer '+token 密文记录

    params:
    {                           // 发送params参数
        groupStatus             // 团状态码（可选，没有这个参数则获取所有状态下的团总数）
                                       -1:审核中
                                       0:拼团中
                                       1:拼团成功
                                       2:拼团失败
    }
    返回：
    {
        data:       // 团数量

        error:      // '0'则为操作成功

        mes:        // 操作后返回的信息
    }
-->

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
    <title>AngularTest</title>
    <style>
        * {
            padding: 0;
            margin: 0;
            /*border: 0;*/
            -webkit-box-sizing: border-box;
            -moz-box-sizing: border-box;
            box-sizing: border-box;
        }
    </style>
    <script src="../angular.js"></script>
    <script>

                var net = "http://palerock.cn/h5_back";
//        var net = "http://localhost:8080";
        //读取本地缓存
        var token = localStorage.getItem("token");

        if (!token) {
            alert("您还没有登录");
            location.href = "登陆简单演示.html";
        }

        var app = angular.module('app', [])
                .config(function ($httpProvider) {
                    //设置请求头附带 token
                    $httpProvider.defaults.headers.common.Authorization = 'Bearer ' + token;
                });

        app.controller('info', function ($scope, $http) {


            //声明get请求参数
            $scope.param = {};

            //声明团列表数组
            $scope.allInfoList = [];

            //声明团状态及其对应码
            $scope.groupStatus = [];
            $scope.groupStatus.push({
                groupStatusName:'所有状态'
            },{
                groupStatusName:'审核中',
                groupStatus:'-1'
            },{
                groupStatusName:'拼团中',
                groupStatus:'0'
            },{
                groupStatusName:'拼团成功',
                groupStatus:'1'
            },{
                groupStatusName:'拼团失败',
                groupStatus:'2'
            });

            //获取所有用户发起的团
            $scope.getInitGroupInfo = function () {
                if (token) {
                    $http.get(net + '/user/group/find-init-groups').then(function (res) {
                        console.log(res.data);
                        if (!res.data.error) {
                            alert(res.data.mes);
                            //声明一个变量暂时保存获取的团信息数组
                            var allInfoList = res.data.dataList;

                            //遍历团信息组,将图片地址这个属性转化为js可以识别的数组
                            for (var i = 0; i < allInfoList.length; i++) {

                                //声明一个imgSrc接收转化为数组的图片地址
                                allInfoList[i].imgSrc = eval(res.data.dataList[i].groupImgs);
                                for (var o = 0; o < allInfoList[i].imgSrc.length; o++)
                                        //遍历图片地址并加上服务器的url
                                    allInfoList[i].imgSrc[o] = net + '/resources/img/' + allInfoList[i].imgSrc[o];
                            }

                            //将之前处理好的团对象保存在scope里
                            $scope.allInfoList = allInfoList;

                        } else {
                            alert('错误代码：' + res.data.error + " " + res.data.mes);
                        }
                    }, function () {
                        alert('网络或设置错误');
                    })
                }
            };

            //根据条件获取用户发起的团
            $scope.getInitGroupInfoByLimit = function () {
                if (token) {
                    $http({
                        method: 'get',
                        url: net + '/user/group/find-init-groups',
                        params: $scope.param
                    }).then(function (res) {
                        console.log(res.data);
                        if (!res.data.error) {
                            alert(res.data.mes);
                            //声明一个变量暂时保存获取的团信息数组
                            var allInfoList = res.data.dataList;

                            //遍历团信息组,将图片地址这个属性转化为js可以识别的数组
                            for (var i = 0; i < allInfoList.length; i++) {

                                //声明一个imgSrc接收转化为数组的图片地址
                                allInfoList[i].imgSrc = eval(res.data.dataList[i].groupImgs);
                                for (var o = 0; o < allInfoList[i].imgSrc.length; o++)
                                        //遍历图片地址并加上服务器的url
                                    allInfoList[i].imgSrc[o] = net + '/resources/img/' + allInfoList[i].imgSrc[o];
                            }

                            //将之前处理好的团对象保存在scope里
                            $scope.allInfoList = allInfoList;
                        } else {
                            alert('错误代码：' + res.data.error + " " + res.data.mes);
                        }
                    }, function () {
                        alert('网络或设置错误');
                    })
                }
            };

            //获取用户发起团的总数
            $scope.getInitGroupCount = function () {
                if (token) {
                    $http({
                        method: 'get',
                        url: net + '/user/group/find-init-groups-count',
                        params:$scope.param
                    }).then(function (res) {
                        console.log(res.data);
                        if (!res.data.error) {
                            alert(res.data.mes);
                        } else {
                            alert('错误代码：' + res.data.error + " " + res.data.mes);
                        }
                    }, function () {
                        alert('网络或设置错误');
                    })
                }
            };

            //设置团详情页面的groupId
            $scope.setAimGroupId = function(groupId){
                sessionStorage.setItem("ptsc_groupId",groupId);
                location.href = '团详细介绍.html';
            };

            $scope.logout = function () {
                localStorage.removeItem("token");
                alert("您已注销成功");
                location.reload();
            }
        });
    </script>
</head>
<body ng-app="app">
<div ng-controller="info">
    <table>
        <tr>
            <td>
                <button ng-click="getInitGroupInfo()">获取用户所有已发团信息</button>
                <br/>
                <button ng-click="logout()">注销</button>
            </td>
            <td>
                <input type="number" ng-model="param.line" placeholder="起始位置"/><br/>
                <input type="number" ng-model="param.next" placeholder="获取团个数"/>
                团状态:
                <select ng-model="param.groupStatus" ng-options="x.groupStatus as x.groupStatusName for x in groupStatus">>
                </select>
            </td>
            <td>
                <button ng-click="getInitGroupCount()">按条件获取用户已发团总数</button>
                <br/>
                <button ng-click="getInitGroupInfoByLimit()">按条件获取已发团信息</button>
            </td>
        </tr>
        <tr ng-repeat="info in allInfoList">
            <td colspan="3">
                <fieldset>
                    <legend align="center">团信息</legend>
                    <ul>
                        <li>封面图片</li>
                        <li ng-repeat="src in info.imgSrc">
                            <img ng-src="{{src}}" alt="" width="100"/>
                        </li>
                        <li>团id：{{info.groupId}}</li>
                        <li>团标题：{{info.groupTitle}}</li>
                        <li>团简介：{{info.groupSynopsis}}</li>
                        <li>团单价：{{info.groupPrice}}</li>
                        <li>团原单价：{{info.groupPriceOriginal}}</li>
                        <li>团目标人数：{{info.groupTargetNumber}}</li>
                        <li>团目前人数：{{info.groupNowNumber}}</li>
                        <li>团邮费：{{info.groupPostage}}</li>
                        <li><button ng-click="setAimGroupId(info.groupId)">查看详情</button></li>
                    </ul>
                </fieldset>
            </td>
        </tr>
    </table>


</div>

</body>
</html>